就是大家一定會有個疑問,使用api的時候什麼會有這麼多奇怪的值{"role": "system"}
,然後程式碼裡的message為什麼會是這樣寫呢?而平常我們真正使用的時候都只是直接輸入內容而已!
以下為OpenAI API範例:
messages=[
{"role": "system", "content": "你是一名詩人。"},
{
"role": "user",
"content": "可以幫我寫有關於感情的五言絕句嗎?"
}
]
各位跟我想的一樣(我自己在幻想XD),就是要給AI一點提示詞(prompt)
,不知道各位有沒有曾經發現AI有時候說的會是幻覺或是說錯呢?,所以我們要清楚的讓AI知道需求是什麼,所以就延伸提示詞的設計,更快速的讓AI判斷我們真正想表達的是什麼!
舉個例子:
我今天想學程式,請問要學什麼語言?
當你問了AI上述的話,可能會得到一本正經的廢話,可能AI會叫你學VB或是Cobol這些非主流語言也說不定,這時候新手小白相信AI的話,大家都會覺得你學這些程式語言很偉大XD
所以Google提出了幾個設計要點,針對以下給推薦及不推薦的例子讓大家感受一下:
1.簡潔
有時候過於冗長的內容,但是問題就是很簡單可能會導致AI無法精准判斷。
推薦:
"總結這篇文章的主要論點。"
不推薦:
"請仔細閱讀我發送給你的這篇文章,然後用你自己的話來概括其中的主要觀點和論據,確保你的總結既全面又簡潔,不要遺漏任何重要細節,同時也不要添加文章中沒有的信息。"
2.具體且明確
假設你的問題是一個很廣泛的問題那麼AI會很難去定義。
推薦:
"寫一個300字的短文,描述氣候變化對北極熊的影響。"
不推薦:
"寫一篇關於動物的文章。"
3.一次做一項工作
不要同時問很多不相干的問題,不然可能會影響AI思考。
推薦:
"為什麼天空是藍色的?"
不推薦:
"為什麼天空是藍色的?1+1=?"
4.幻覺防範
不要對AI問奇怪的問題。
第一個上月球的大象是誰等等之類的(現在訓練好的模型可能不會有這種問題),所以一些明知道不可能或是奇怪的問題還是盡量別問!
5.生成式工作轉換為分類工作,減少輸出變化
把範圍限縮,這樣可以讓AI更精准的的回答。
推薦:
"我是程式新手,推薦我學習的程式語言!1.Python、 2.JavaScript、3.Java,並說為什麼"
不推薦:
"我是新手小白,推薦我程式語言~"
解說完後大家對提示詞設計是否有感覺了~
上述在Google有專門對提示詞的設計教學且是免費資源,大家不妨也可以去學習一下!
參考資料:https://www.cloudskillsboost.google/paths/118/course_templates/976/labs/489805?locale=zh_TW